23

» WarCraft 3 / Размер декорации ?

Похожие вопросы:

ответ
слк оптимизаторы + тула векса
короче поиск по запросу оптимизатор
ответ
Цикл — это loop? Мб лимит операций. Попробуй таймером.
Изменение текстур земли — это
SetTerrainType(real x, real y, integer terrainType, integer variation, integer area, integer shape)
ответ
Увеличить максимальный масштаб в редакторе объектов.
ответ
PhysCraft, да, карта вполне могла сломаться при пересылке. Попробуй переслать обратно и проверить откроется ли она у твоего напарника.

23

» WarCraft 3 / Напомните карту

Похожие вопросы:

ответ
Если там Архамонд бегал с серым фалосом за паладинами, то карта называется: 18+
ответ
Все нашел, извиняйте
ответ
закрыт по таймауту
ответ
Утечка - это когда не удаляются ненужные объекты. Здесь регион нельзя удалять, потому что без него событие не будет работать. Но если у вас много таких событий, то лучше использовать один регион для всех событий, при условии, что размеры региона не будут изменяться в процессе игры, потому что это может нарушить работу других событий, привязанных к данному региону.
А функция TriggerRegisterEnterRectSimple в теории не утечна, но на практике может утекать, например, если в потоке триггера будет вызвано её уничтожение RemoveRegion(GetTriggeringRegion()).

23

» WarCraft 3 / Очень странный баг

Похожие вопросы:

ответ
в чем вопрос?
ответ
Проблема решена. Обнаружилась довольно неожиданно - заметил, что во время крита герой не разбивал лицо сам себе, начал искать модификаторы атаки - у героя было 3 пустышки с нулевыми значениями на основе "ракет". При всех пустых значениях вылетает невидимая ракета по самому себе.
ответ
Вшито в движок. Простым смертным метелица не дает возможности в редакторе пользоваться % снижением здоровья всех войск.
ответ
not_name:
я карту посмотрел, да, пытался сделать похожее
только там с очередью приказов шляпа выходит, поэтому я лучше сделаю все визуально

в общем, реализовал, как и говорил выше - при смерти сразу воскрешаю героя на месте гибели, пауза, анимация, таймер, по прошествии таймера - выдаю все нужное, при повторной смерти - забираю
адекватно работает с крестами

23

» Администрация XGM / Ссылка картинкой

Похожие вопросы:

ответ
По новым правилам выдачи ресурсы проектов 3 уровня попадают на главную. Самый последний ресурс war3 будет отображаться на главной, так что дублировать ресурсы не имеет смысла.
ответ
нет.
ответ
удалил, ибо толку от него нет
ответ
Привет.
Основные правила пользования сайтом - xgm.guru/p/xgm-team/rules
Ссылка на правила для работ раздела WarCraft - xgm.guru/p/wc3/rules-maps?
Конкретно твоя работа проходит премодерацию после внесённых изменений.
ответ
Ачивница приехала, искать в профиле
Блин, тут ведь про то, что сломались достижения?

23

» WarCraft 3 / Некоторые функции юнитов

Похожие вопросы:

ответ
Я бы на вашем месте использовал "Custom Script", то есть вставил локальные переменные на языке jass. Вышло бы приблизительно так:
Вот рабочий триггер. Никаких глобальных переменных. Работает со множествами игроков и юнитов. Не тормозит карту.
В условиях: (Ability being cast) равно "Здесь поставь способность которая применяется на юнита"
Описываю действия:
  1. Создаем локальную переменную юнита
  2. Даем юниту на которого применяется способность "Невидимость", способность "Змеиная ловкость"
  3. В локальную переменную юнита вписываем юнита на которого применена способность
  4. Ждем тридцать секунд, то есть столько времени, сколько у юнита будет доп. способность "Змеиная ловкость"
  5. По истечении времени забираем у юнита доп. способность "Змеиная ловкость"
В пятой строке 'AEev' - это код способности "Змеиная ловкость"
Если что-то не понятно - обращайся.
Напоминаю - триггер полностью играбельный!
К комментарию добавляю карту с рабочим триггером:
ответ
Bravotan, вот список функций (так же есть в теме с мх)
Функций очень много, некоторые работают своеобразно читайте тему с мх и задавайте там вопросы по функциям.
ответ
после разложения костей юниты сами выгружаются из памяти
функция "wait" то же вызывает утечки
она не вызывает утечки, она сама по себе кривая и не подходит под большинство задач
если создать переменную "Point" типа "точка" и изначально задать ей положение центр области "Final", а потом обращаться уже к этой переменной "Point" в триггере событие "боевая единица входит в область "Start", действие "отдать приказ боевой единице следовать в "Point" , то новые точки создаваться не будут?
да
только в гуи еще и создание юнитов утекает тоже насколько я помню, надо тоже заранее точку делать
впринципе можно было бы обойтись одной точкой на все действия, но вам видимо пока рано

23

» WarCraft 3 / Ауры

Похожие вопросы:

ответ
Аура торнадо.
Аура выносливости с отрицательными значениями и врагами в допустимых целях.
ответ
Разрешённые цели - добавляешь "Здания"
Эффект на них работает, но без иконки снизу.
Только что потестил на "Доспехах веры"
ответ
XGM Bot:
Похожие вопросы:

ответ
Карта со всеми утечками и описанием их.
Вместо проклятия банши можно юзать туман(не рекоменд) или безмолвие(там есть вроде бы шанс промаха).
Ещё можно сделать ауру на основе пламени феникса, которое действует на своих.
Юнит повреждён
  • урон меньше 1
  • источник - союзный герой
дать уклонение
вейт/таймер
убрать уклонение если триг юнит не имеет баффа пламени(длительность регулируем)
1
ответ
Extremator, ты сам только что ответил на вопрос
при включении армлета:
  • увеличиваем урон на 31
  • отнимаем 5 хп каждые 0,11 секунды
  • даём 4,17 силы каждые 0,1 секунды пока не будет 25 силы
  • давать 4 брони спустя 0,6 секунды
с промахами радика тоже всё просто
дами каст промахов на всех кто попал под действие радика
как работать с таймерами и дамикастом написано в статьях
или вы ждёте что мы за вас будем делать?
вот статьи
вот стол заказов

ответ
~8gabriel8:
Определил причину невидимости модели после сохранения в war3me. В Geoset Animation Manager должна стоять Alpha 1, а он почему-то делает 0 или -1.

Поставил в Geoset Animation Manager не глобальные Color и Alpha, а для первых кадров всех 6 анимаций. Стало всё нормально и триггерные костыли не нужны.
Модель красного свечения ауры на юнитах:
Карта с этой аурой:
А отредактировать mdx в HEX-редакторе не сумел.
ответ
Настройки нужно немного другие, наземные, враги, организмы, нейтральные. Там далеко не так как написано работает фильтр, некоторые критерии работают только совместно. Где то даже была статья как делать такие настройки, чтобы работало только на нужные цели.

23

» WarCraft 3 / Юнит как Герой + его позиция

Похожие вопросы:

ответ
Ну у мастера клинка способность то посложнее...
Вот пример:
Для начала нам нужно создать иллюзии героя, а потом скрыть всех их, так же сделав визуальный эффект (если что то зеленые тени, это снаряды).

23

» WarCraft 3 / Проблемы утечек

Похожие вопросы:

ответ
Какой ужас
Делай вот так.
бронепоезд
создать.
направить на 128 точек наверх(90)
сделать неперманентным
текст удалится через 3 секунды
текст затухнет до 100% прозрачности через 3 секунды
Вот чёрт. не успел приплюснуть к посту.
ответ
Ну еще и 100500 юнитов могут начать лагать, 60+ на игрока которые куда то бегут уже не хорошо.
Так же советую сделать всех юнитов суммонами, чтобы они не разлагались
call UnitApplayTimedLife( unit, 'BFig', 0.00 ) это существенно снизит нагрузку на движок
P.S в ваших юнитах совсем не разобрался, какой то кавардак - нету четкого разделения на юнитов для волн, боссы, суммоны героев, герои игроков....
ответ
Прошу прощения, перепроверил, не течет, занимает 4 хендла на время действия, потом чистит
ответ
Steal nerves:
объяснение
если герой удалил с помощью репик героя
Не понял что ты написал, если имеешь в виду удалить героя (RemoveUnit), то это событие никогда не запустит поток, так как объекта то уже нет (удален). Не должно по идее. Во-вторых, нельзя удалить событие. Событие обычно вешают (регистрируют) на объекты (юниты, игроки и др), большая часть стандартных событии (юнит умирает, юнит применяет абилу и др короче общие события) - вешают (регистрируют) на игроков. Короче событие - рычаг, который фиксирует изменения объекта. Есть другие еще событие со временем - "запускать каждые ... секунд" - тоже рычаг, но переменных не дает (типа Dying Unit(), GetTriggerUnit() и др)
Если смотреть по поводу того утечек и как лучше сделать/оптимизировать случаи с единичными событиями, которые вешают на одного юнита:
  1. есть два варианта либо вешаешь все на один триггер события разных юнитов (еще нужно в некоторых случаях запихивать юнитов в группу для проверки, если там такой юнит есть, то не нужно добавлять) и не париться (рабочий вариант). Пример_GUI_Impetus,
  2. Или создаешь каждый раз новый триггер, регистрируешь на него событие юнита (пример при атаке), (так было сделано в доте, видимо для успешной атаки, типа отслеживаешь что это был физический удар, скилл Impetus), потом ссылки на action и condition запоминаешь в переменные или в хэшз, затем удаляешь условие/действие, и триггер удалить. Условие можно не удалять, кто-то писал что не нужно
Можно привести к моему выводу, что событие не удалить. Тестировал давно функции ссылка на игроках, Рисую ситуацию: на игрока зарегистрировал событие (применить скилл), прикрепил также к триггеру условие и действие.
Игрок запускает способность => срабатывает событие => проходит проверка условия => действие.
Если убрать действие или условие, то рычаг все равно работает. Отсюда следует вывод: даже будь хоть выключен триггер, событие все равно работает. Функция GetTriggerEvalCount - этой функции можно проверить сколько раз запускал условие с событием. Но как-то пробовал еще и без условия проверить, прокатывает и на событие походу (точнее это счетчик на событие). Так как рычагом является игрок. А если рычагом станет не игрок, а юнит (часто систему урона на него вешают), то там юнита можно удалить, и событие никогда не заработает, так как его уже нет
Что хочу сказать. Если у тебя 50 триггерных скилов, и 50 триггеров с одним и тем же событием, лучше его оптимизировать, на одно событие. Где-то была ссылка
это будет надеюсь понятно
ответ
Steal nerves:
Alexey103, а у меня работает, проверял. тут ошибка в названии переменной, скорее всего, зачем ты задал такое. Мб оно слишком длинное и через нижнее подчеркивание? и путь модель указывают в jass не через один обратный слэш "/", а через двойной слэш "//". Это на гуи один, на джаз два слэша

23

» WarCraft 3 / Фаталит карта

Похожие вопросы:

ответ
Было создано 22 366 679 экземпляров класса CUnitListNode, которые заняли 255.9 МБ памяти.
При очередной попытке выделения, игра упала.
Виной всему утечки памяти: за 21 минуту набралось 80 тысяч групп и 20 тысяч точек.
Также, из-за выполнения большого количества кода, сильно лагает.
На стадии выбора героя (первые две минуты), выполняется 550 000 операций в секунду, а далее — 1 200 000.
Для сравнения: лимит потока — 300 000 операций.
Хорошо, что ты приложил карту, так как в логе маловато информации.
ответ
ScopteRectuS, ну как я и догадывался, что идет рекурсия.
10 событий - юнит получает урон, на одного юнита... Нужны именно такого типа проверки, всегда в условии триггера проверяй от кого урон и какой этот урон с помощью флага глобалки как в примере.В блоге лича хорошо описаны костыли доты, почитай для общего развития чтобы не наступать на эти грабли еще раз.
ответ
Лол, "создать труп", нельзя ставить 12. Метод тыка побеждает
ответ
ScopteRectuS, нет, таймед лайф это своего рода бафф, он сам следит есть ли юнит. Если юнит сдохнет бафф самовыпилится самостоятельно, так что нет. Смотри баффы иллюзий и волков, они не проигрывают анимации смерти. Подбираешь бафф и все, анимации смерти невидно.
Хайдить тоже можно, под хайдом юнит нормально умирает и разлагается.
ответ
Короче, всем спасибо, пока поставлены еще количество костей, количество граней у кости и добавлены дальность атаки и цели для нее, фаталить перестало
функцию потом поменяю

23

» WarCraft 3 / Как получить кликнувшего игрока?

Принятый ответ
Похожие вопросы:

ответ
Перебором каждого игрока и проверкой, что у него щас выделен этот юнит
Или использовать EVENT_PLAYER_UNIT_SELECTED , тогда будет TriggerPlayer

23

» WarCraft 3 / Триггерно добавляем урон герою

Похожие вопросы:

ответ
Локальные переменные нельзя использовать в GUI'шных "if then else", карта просто не запустится
Т.к если GUI'шные "if then else" перевести в jass, то будет функция с действиями триггера, а чуть выше функция с условиями этого же "if then else".
А в этом и прикол локальных переменных, их можно использовать только в пределах функции в которой они были вызваны (созданы).
И лучше начни писать на jass, он легкий, хоть и кажется сложным после GUI
К примеру такие задачи на GUI которые буквально голову ломают - на jass делаются достаточно легко и быстро
дабы избежать конфликтов с многократными использованием
это будет проблематично на GUI
Поэтому лучше не парить голову этим, а почитать эти материалы:

23

» WarCraft 3 / Поворот даммика

Похожие вопросы:

ответ
~16GB:
0.06 время жизни слишком мало ставь хотя бы 0.3
ответ
Используйте Кривые Безье, с помощью всего двух значений можно нарисовать огромную кучу движений.
ответ
Всё, понял как сделать

23

» WarCraft 3 / замедление времени

Похожие вопросы:

ответ
Добавлять бафы триггерами, на сколько я знаю, нельзя, но можно снимать.
Чтобы повесить баф на юнита, нужно:
  • Создать способность которая повесит нужный баф
  • Создать дамми юнита (с абилкой москит) и дать ему эту способность
  • В нужный момент создавать этого юнита и кастовать им по нужной цели
При инициализации карты, создать и удалить всех юнитов которые будут потом создаваться триггерами, чтобы избежать секундных фризов.
ответ
Юзай ретурн баг, он снова доступен...
Просто массив целочисленных куда записаны ид code.
Вот ссылочка
ответ
Araders, ну я привык с технической точки зрения смотреть ))
Если кому нужно - есть наработка по перемещению во времени.
ответ
Вешаешь даммиками замедление на всех юнитов кроме нужного пуджа подобравшего руну, которому даешь спецэффект с следом из изображений. Еще всем замедленным юнитам меняешь скорость анимации.
Снаряды стрелков и заклинаний не замедлятся, но в пуджах все эти хуки на триггерах, так что проверяется что время замедлено, и соответственно смещаются они меньше.
ответ
А почему одну камеру нельзя использовать и изменять её положение? Рывки?

23

» WarCraft 3 / мини карта

Похожие вопросы:

ответ
есть предложение заменить значки миникарты прозрачной текстурой
ответ
ну, тогда никак
ответ
в константах уровень кампов нейтралов регулируется, с какого суммарного уровня будет желтая и красная точки
другими способами без мх никак
ответ
war3mapPreview.tga - обложка карты
war3mapMap.blp - текстура миникарты

23

» WarCraft 3 / озвучка юнита

Похожие вопросы:

ответ
Nikitos6, проверь галочки во вкладке "Вид"
ответ
UI\SoundInfo\UnitAckSounds.slk
ответ
Denis55:
Ты случайно не знаешь как они это сделали ? (сейчас залез в мпкушник там в папке ///units озвучки лежат ... сделал тоже самое даже по сути попробовал их озвучку в мпкушник засунуть свой... не видит редактор может как то что надо еще где то прописать??? (Или нужено в War3.MPQ кидать (Просто кидал я в WC3Patch.mpq)
Да, нужно прописывать, в UI\SoundInfo\UnitAckSounds.slk
ответ
Где-то я уже видел ответ на такой вопрос...
Вспомнил. На ютубе. Вбей в поисковую строку "Своя озвучка в варкрафт".
ответ
Мб озвучки просто отменили
Учитывая, что под контроль игрока эти юниты никогда не давались, разумно решили - не самое важное

23

» WarCraft 3 / Видно всю карту во время игры. КАК ИСПРАВИТЬ?

Похожие вопросы:

ответ
Настройки карты => скрытые области частично видны => uncheck
ответ
изменять триггерно границы камеры
подробнее в статьях и функшионлисте
кнопка статьи вверху
ответ
при создании предмета в какой-то точке на карте ты создаешь его с помощью координат
присвой переменной Point рандомную позицию на карте, после создавай там предмет и дамми\видимость\чупакабру
как только предмет взяли - удаляем дамми и точку из памяти
профит
ответ
Но ведь сами по себе ошибки не происходят.
Причина подобного это А) - невнимательность либо твоя либо автора В) - программное обеспечение
Что бы в дальнейшем все было окей, просто сначала потести карту полностью что бы знать что и как должно быть, а потом вноси изменения, будь внимательней.
Еще советую связаться с автором и поговорить с ним об этой проблеме, или запросить у него еще 1 исходник да бы сверЯться с ним.

23

» WarCraft 3 / 3 д камера

Похожие вопросы:

ответ
N7 Molot:
DvernoiProem:
Там все включенные триггеры - относятся к системе. Остальные выключены.
Попробуй ка сохранить карту без этой функции, потом опять с нею. Я сейчас попробую оптимизировать её.

23

» WarCraft 3 / Время суток...

Похожие вопросы:

ответ
Бредятина.
Делаешь спелл(как у мастера клинка) и ставишь время действия 3600(час) и уменьшаешь владельцу триггерно ману на 1, при уменьшении смотрим наличие бафа инвиза, если маны нет, снять бафф инвиза (при снятия баффа, инвиз автоматом убирается, проверено), а если нет бафа - прекратить снимать ману.
ответ
ну там стандартная гуи функция отвечает чтобы при старте игры было 6 утра, без нее будет ночь, а насчет увеличения времени суток: Дополнительно-Игровые константы, там можно увеличить время дня и ночи, и кажется настроить время восхода и заката
ответ
~8gabriel8:
Может быть так время триггерно установлено? В триггерах действие Игра - Set Time Of Day.
ответ
Событие: Юнит убит
Условие: проверяешь время игры, должно быть:
>= 18:00 ИЛИ <= 6:00
Это если у тебя стандартное время.
ответ
В редакторе триггеров, в действиях, категория "Игра".
Подробнее сейчас не могу сказать, редактора нет рядом.

23

» WarCraft 3 / Ресурсы для проекта...

Похожие вопросы:

ответ
Свою карту добавляйте через эту форму:

А ещё за такое название вопроса в следующий раз пойдут замечания.
ответ
скорее всего это что-то из разряда исикаповских клиентов
ответ
Перспективы создания карт на вркрафт 3.
хочешь популярности и крупный донат?? Тогда редактор варика - точно не тот инструмент для тебя. Кроме ностальгирующих ветеранов в варик никто особо не играет, а эти сами ветераны повидали всякое, едва ли ты их удивишь настолько, что о тебе будут говорить. Замечание о выходе обновления на вар3 не вызвало даже тени мысли у приятелей-некогда-перводотеров-и-кастомных-карт-игроков снова установить варкрафт(я даже не сказал им что обновление по сути ничего не делает, просто что вышло обновление). Может только мне так везёт, но мои печальные наблюдения в том, что варик медленно но верно теряет игроков.
По крайней мере слово "перспектива" тут явно чужое.
ответ
~8gabriel8:
В верхнем правом уголке сайта плюсик с маленькой стрелочкой, нажимаешь на него, там второй пункт Основать проект.

23

» WarCraft 3 / Помогите решить проблему!!

Похожие вопросы:

ответ
]]Chupakabra[[, я понял. Крч на костылях придется лепить. Попробуй при выборе героя добавлять геройские абилки, а потом блочить или удалять их. Думаю, так можно добавить до 7 штук. Через ро не получается больше 5.
Если не получится - пробуй делать полностью триггерно с помощью спеллбука.
ответ
анимационный таг
анимация
триггеры

при выделении юнита заставляем его проигрывать определенную анимация
при снятии выделения - прекращаем
ответ
Получилось потому что кто-то не аккуратно редактировал модель. Явно же вершины смещены или скорее прикреплены не к той кости. Переделать нужно.
ответ
~8gabriel8:
PT153, это лимит для одного игрока, то есть героя смогут нанять другие.
Нужно поставить таверне способность Продажа войск. Потом делаешь триггер:
Событие: Юнит вошёл в область (Вся игровая карта)
Условие: Триггеринг юнит равно Герой равно Да (можно этого не делать, просто исключает срабатывание триггера для каждого юнита)
Действия: несколько действий Если/То/Иначе
Если - Юнит тип (Триггеринг юнит) равно Какой-то Герой Из Таверны
То - Нейтральное здание - Удалить Какой-то Герой Из Таверны из таверны
Иначе - Ничего
И так для каждого типа героев в таверне.
ответ
~8gabriel8:
Карты в кампании на 1.26 более 8 мб не запускаются.

23

» WarCraft 3 / Пропадают изменения

Похожие вопросы:

ответ
  1. а) Создай 2 переменные-массива по типу "боевая единица" (массив - чтобы для каждого игрока, мы ведь за мультиплеер трем, прально?), назови типа MyChampion и MyChampionDummy.
    б) подготовь невидимого героя-пустышку с нужной тебе иконкой, убери ману, если у чемпиона ее нет. Убери ему радиус обзора, убери галочки типа "отмечать на мини-карте" - остальные - опционально.
    В дальнейшем мы будем синхронизировать пустышку и реального чемпиона, создавая видимость одной боевой единицы.
    Итак, наш первый триггер:
в) Отследи первое появление чемпиона, когда это случится - создай для игрока героя-пустышку. Соответственно сделай MyChampion [number of (Owner of trained unit)]= last trained unit, следующей строчкой создай того самого героя-пустышку для (owner of trained unit) и сделай MyChampionDummy = last created unit. Теперь мы прочно связали этих чуваков. Этот же триггер запускает остальные.
г) Отслеживание здоровья. Сделай изначально выключенный цикличный триггер, там, каждые 0.3 секунды. Триггер запускается пунктом в). Каждые 0.3 секунды меняй здоровье героя (чья икона висит, надо чтобы она соответствовала, прально?) в % на здоровье самого чемпиона.
д) пропищи событие, мол, если выбирает игрок своего героя (кликая на иконку) выбирается чемпион
е) убивай героя вместе с чемпионом
ж) отключай триггеры с проверкой и выбором, пока чемпион мертв
з) не забывай обновлять переменную чемпиона с каждым новым чемпионом.
ответ
По мере работы с триггерами, в частности с триггерными способностями, разобрался и с этой проблемой(методом "тыка"). Чтобы не оставлять вопрос без ответа, сам отвечу.
Событие:
Боевая единица А - unit Атакован
P.S Постарался устранить утечки, вроде получилось.
Забыл про не большое условие.
ответ
ClotPh:
Ige, т. е. как-то так (при инициализации)?
call Preload (war3mapImported\SingerOfDeath1.wav)
call Preload("war3mapImported\\SingerOfDeath1.wav")
ответ
Настройки баффа пронзающей смерти, у неё два баффа, один для стуна второй как раз делает псевдополёт.
ответ
В модел эдиторе перенеси нужную кость в начало координат и в ключевых фреймах пропиши одинаковые координаты для этой кости. Вот и проверишь.